package com.ccl.iot.device;

public enum IOTDeviceConst {
    ;

    /**
     * 设备类型
     */
    public enum TDEVICE_TYPE {
        ;
        public static final int EDEVICE_TYPE_UNDEFINE = 0;

        public static final int EDEVICE_TYPE_BASE_SERVER = 0x01;

        public static final int EDEVICE_TYPE_ACCESS_POINT = 0x10;

        public static final int EDEVICE_TYPE_COMPUTER = 0x20;
        public static final int EDEVICE_TYPE_SMART_PHONE = 0x21;

        public static final int EDEVICE_TYPE_TERMINAL = 0x30;
        public static final int EDEVICE_TYPE_TERMINAL_SWITCH = EDEVICE_TYPE_TERMINAL + 1;
        public static final int EDEVICE_TYPE_TERMINAL_ONE_WAY_SWITCH = EDEVICE_TYPE_TERMINAL + 2;    //单路开关
        public static final int EDEVICE_TYPE_TERMINAL_TWO_WAY_SWITCH = EDEVICE_TYPE_TERMINAL + 3;    //双路开关
        public static final int EDEVICE_TYPE_TERMINAL_THREE_WAY_SWITCH = EDEVICE_TYPE_TERMINAL + 4;    //三路开关
        public static final int EDEVICE_TYPE_TERMINAL_FOUR_WAY_SWITCH = EDEVICE_TYPE_TERMINAL + 5;    //四路开关

        public static final int EDEVICE_TYPE_TERMINAL_DIMMER = 0x38; // 调光器
        public static final int EDEVICE_TYPE_TERMINAL_ONE_WAY_DIMMER = EDEVICE_TYPE_TERMINAL_DIMMER + 1; // 单路调光器
        public static final int EDEVICE_TYPE_TERMINAL_TWO_WAY_DIMMER = EDEVICE_TYPE_TERMINAL_DIMMER + 2; // 双路调光器

        public static final int EDEVICE_TYPE_TERMINAL_RGB_LIGHT = 0x3F;    //多彩灯

        public static final int EDEVICE_TYPE_TERMINAL_DOOR = 0x40;
        public static final int EDEVICE_TYPE_TERMINAL_ONE_WAY_DOOR = EDEVICE_TYPE_TERMINAL_DOOR + 1;    //单路门窗

        public static final int EDEVICE_TYPE_TERMINAL_MULTIFUNC = 0xA0; // 多功能终端
        public static final int EDEVICE_TYPE_TERMINAL_MULTIFUNC_5571 = EDEVICE_TYPE_TERMINAL_MULTIFUNC + 1; // CCL5571红外智能插座
        public static final int EDEVICE_TYPE_TERMINAL_MULTIFUNC_5525 = EDEVICE_TYPE_TERMINAL_MULTIFUNC + 2; // CCL5525协议转换器
        public static final int EDEVICE_TYPE_TERMINAL_MULTIFUNC_5532 = EDEVICE_TYPE_TERMINAL_MULTIFUNC + 3; // CCL5532双路感应开关

        public static final int EDEVICE_TYPE_TERMINAL_SECURITY = 0x50;    //安防终端
        public static final int EDEVICE_TYPE_TERMINAL_ANTI_THEFT_PROBE = EDEVICE_TYPE_TERMINAL_SECURITY + 1;    //防盗探头
        public static final int EDEVICE_TYPE_TERMINAL_SECURITY_ARM = EDEVICE_TYPE_TERMINAL_SECURITY + 2;    //安防主机

        public static final int EDEVICE_TYPE_TERMINAL_APPLIANCE = 0x70;    //电器
        public static final int EDEVICE_TYPE_TERMINAL_TV = EDEVICE_TYPE_TERMINAL_APPLIANCE + 1;    //电视
        public static final int EDEVICE_TYPE_TERMINAL_PLAYER = EDEVICE_TYPE_TERMINAL_APPLIANCE + 2;    //播放器
        public static final int EDEVICE_TYPE_TERMINAL_AIR_CONDITION_8 = EDEVICE_TYPE_TERMINAL_APPLIANCE + 3;    //空调
        public static final int EDEVICE_TYPE_TERMINAL_AIR_CONDITION_25 = EDEVICE_TYPE_TERMINAL_APPLIANCE + 4;    //空调

        public static final int EDEVICE_TYPE_TERMINAL_BLIR = 10039;      //博联RM mini3
    }

    /**
     * 寄存器大小
     */
    public enum TDEVREG_SIZE {
        ;
        public static final int EDEVREG_SIZE_POWER = 4;        //电源
        public static final int EDEVREG_SIZE_PWRDISS = 4;    //功耗
        public static final int EDEVREG_SIZE_BASEREG = EDEVREG_SIZE_POWER + EDEVREG_SIZE_PWRDISS;    //电源加功耗

        public static final int EDEVREG_SIZE_STATE_FLAG = 1;    //设备状态记忆标记
        public static final int EDEVREG_SIZE_STATE = 4;            //普通寄存器大小
        public static final int EDEVREG_DIMMER_SIZE_STATE = 8;    //调光设备寄存器大小
        public static final int EDEVREG_TERMINAL_MULTIFUNC_5525_SIZE = 120;        //5525协议装换器寄存器大小
        public static final int EDEVREG_TERMINAL_AIRCONDITION_SIZE_8 = 12;        //8路空调寄存器大小
        public static final int EDEVREG_TERMINAL_AIRCONDITION_SIZE_25 = 4;        //25路空调寄存器大小
        public static final int EDEVREG_TERMINAL_PROBE_SIZE = 4;        //防盗探头寄存器大小
        public static final int EDEVREG_TERMINAL_SECURITYARM_SIZE = 88;        //安防寄存器大小
        public static final int EDEVREG_TERMINAL_RGB_LIGHT_SIZE = 20;        //多彩灯寄存器大小

    }

    /**
     * 寄存器地址
     */
    public enum TDEVREG_ADDRESS {
        ;
        public static final int EDEVREG_ADDRESS_POWER = 0;    //电源地址
        public static final int EDEVREG_ADDRESS_PWRDISS = EDEVREG_ADDRESS_POWER + TDEVREG_SIZE.EDEVREG_SIZE_POWER;    //功耗地址
        public static final int EDEVREG_ADDRESS_STATE_FLAG = EDEVREG_ADDRESS_PWRDISS + TDEVREG_SIZE.EDEVREG_SIZE_PWRDISS;    //标记位地址
        public static final int EDEVREG_ADDRESS_STATE_1 = EDEVREG_ADDRESS_STATE_FLAG + TDEVREG_SIZE.EDEVREG_SIZE_STATE_FLAG;    //单路设备地址
        public static final int EDEVREG_ADDRESS_STATE_2 = EDEVREG_ADDRESS_STATE_1 + TDEVREG_SIZE.EDEVREG_SIZE_STATE;            //...
        public static final int EDEVREG_ADDRESS_STATE_3 = EDEVREG_ADDRESS_STATE_2 + TDEVREG_SIZE.EDEVREG_SIZE_STATE;
        public static final int EDEVREG_ADDRESS_STATE_4 = EDEVREG_ADDRESS_STATE_3 + TDEVREG_SIZE.EDEVREG_SIZE_STATE;

        public static final int EDEVREG_DIMMER_ADDRESS_STATE_1 = EDEVREG_ADDRESS_STATE_FLAG + TDEVREG_SIZE.EDEVREG_SIZE_STATE_FLAG;    //单路调光地址
        public static final int EDEVREG_DIMMER_ADDRESS_STATE_2 = EDEVREG_DIMMER_ADDRESS_STATE_1 + TDEVREG_SIZE.EDEVREG_DIMMER_SIZE_STATE;//双路调光地址

    }

    public enum PATCH_UUID {
        ;
        public static final int EPATCH_UUID_AC_DAIKIN_VRV_8CH = 0x73010008;    //8通道大金VRV空调
        public static final int EPATCH_UUID_AT_RF_PROBE_16CH = 0x51010010;    //16通道无线安防探头
        public static final int EPATCH_UUID_SECURITY_ARM_32CH = 0x52010020;    //16通道无线安防探头
        public static final int EPATCH_UUID_AC_DAIKIN_VRV_25CH = 0x73010019;    //25通道空调
    }

    //---------------
}
